﻿

Partial Class _Default
    Inherits System.Web.UI.Page

    Dim m_strRama As String
    Dim m_strCategoria As String
    Dim m_strGrupo As String
    Dim m_strFamilia As String
    Dim m_strVariedad As String
    Dim m_strCalidad As String
    Dim m_strOrigen As String
    Dim m_strPais As String
    Dim m_strMarca As String
    Dim m_strTipoEmpaque As String
    Dim m_strPresentacion As String
    Dim m_strCosecha As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack() Then

            If Not HttpContext.Current.User.Identity.IsAuthenticated Then
                Response.Redirect(FormsAuthentication.LoginUrl)
            End If

            txtFechaSolicitud.Text = System.DateTime.Today

            '----------------------------------------------------
            'RAMA
            '----------------------------------------------------
            Dim objRama As New clsRama

            ddlRama.DataSource = objRama.Get_Rama
            ddlRama.DataTextField = "nombre"
            ddlRama.DataBind()
            ddlRama.Items.Insert(0, "")
            ddlRama.Items.Add("(OTRO)")

            '----------------------------------------------------
            'CATEGORIA
            '----------------------------------------------------
            Dim objCategoria As New clsCategoria

            ddlCategoria.DataSource = objCategoria.Get_Categorias
            ddlCategoria.DataTextField = "categoria"
            ddlCategoria.DataBind()
            ddlCategoria.Items.Insert(0, "")
            ddlCategoria.Items.Add("(OTRO)")


            ' ''----------------------------------------------------
            ' ''GRUPOS
            ' ''----------------------------------------------------
            ''Dim objGrupos As New clsGrupos

            ''ddlGrupo.DataSource = objGrupos.Get_Grupos
            ''ddlGrupo.DataTextField = "grupo"
            ''ddlGrupo.DataBind()
            ''ddlGrupo.Items.Insert(0, "")
            ' ''ddlGrupo.Items.Insert(ddlGrupo.Items.Count, "(OTRO)")
            ''ddlGrupo.Items.Add("(OTRO)")


            ' ''----------------------------------------------------
            ' ''MARCA
            ' ''----------------------------------------------------
            ''Dim objMarca As New clsMarca

            ''ddlMarca.DataSource = objMarca.Get_Marcas
            ''ddlMarca.DataTextField = "marca"
            ''ddlMarca.DataBind()
            ''ddlMarca.Items.Insert(0, "")
            ''ddlMarca.Items.Add("(OTRO)")

            ' ''----------------------------------------------------
            ' ''TIPO EMPAQUE
            ' ''----------------------------------------------------
            ''Dim objTipoEmpaque As New clsTipoEmpaque

            ''ddlTipoEmpaque.DataSource = objTipoEmpaque.Get_TipoEmpaques
            ''ddlTipoEmpaque.DataTextField = "tipoempaque"
            ''ddlTipoEmpaque.DataBind()
            ''ddlTipoEmpaque.Items.Insert(0, "")
            ''ddlTipoEmpaque.Items.Add("(OTRO)")

            ' ''----------------------------------------------------
            ' ''PRESENTACION
            ' ''----------------------------------------------------
            ''Dim objPresentacion As New clsPresentacion

            ''ddlPresentacion.DataSource = objPresentacion.Get_Presentacion
            ''ddlPresentacion.DataTextField = "presentacion"
            ''ddlPresentacion.DataBind()
            ''ddlPresentacion.Items.Insert(0, "")
            ''ddlPresentacion.Items.Add("(OTRO)")

            '----------------------------------------------------
            'ORIGEN
            '----------------------------------------------------
            ddlOrigen.Items.Add("")
            ddlOrigen.Items.Add("NACIONAL")
            ddlOrigen.Items.Add("IMPORTACION")

            '----------------------------------------------------
            'PAIS
            '----------------------------------------------------
            Dim objPais As New clsPaises

            ddlPais.DataSource = objPais.Get_Paises
            ddlPais.DataTextField = "Pais"
            ddlPais.DataBind()
            ddlPais.Items.Insert(0, "")
            ddlPais.Items.Add("(OTRO)")

            '----------------------------------------------------
            'GRUPO 2
            '----------------------------------------------------
            ddlGrupo2.Items.Add("")
            ddlGrupo2.Items.Add("GRANOS VARIOS")
            ddlGrupo2.Items.Add("GRANOS SUCIOS")
            ddlGrupo2.Items.Add("SUBPRODUCTOS")

        End If

        DoVerificar()

    End Sub

    Protected Sub ddlGrupo_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlGrupo.SelectedIndexChanged
        txtGrupo.Text = ""
        If ddlGrupo.Text = "(OTRO)" Then
            txtGrupo.Visible = True
        Else
            txtGrupo.Visible = False
        End If

        '----------------------------------------------------
        'FAMILIA
        '----------------------------------------------------
        Dim objfamilia As New clsFamilias

        If ddlGrupo.SelectedValue <> "" And ddlGrupo.SelectedValue <> "(OTRO)" Then
            ddlFamilia.DataSource = objfamilia.Get_Familias(ddlGrupo.SelectedValue)
        Else
            ddlFamilia.DataSource = objfamilia.Get_Familias()
        End If
        ddlFamilia.DataTextField = "familia"
        ddlFamilia.DataBind()
        ddlFamilia.Items.Insert(0, "")
        ddlFamilia.Items.Add("(OTRO)")


        '----------------------------------------------------
        'MARCA
        '----------------------------------------------------
        Dim objMarca As New clsMarca

        ddlMarca.DataSource = objMarca.Get_Marcas(ddlGrupo.SelectedValue)
        ddlMarca.DataTextField = "marca"
        ddlMarca.DataBind()
        ddlMarca.Items.Insert(0, "")
        ddlMarca.Items.Add("(OTRO)")



    End Sub

    Protected Sub ddlFamilia_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlFamilia.SelectedIndexChanged
        txtFamilia.Text = ""
        If ddlFamilia.Text = "(OTRO)" Then
            txtFamilia.Visible = True
        Else
            txtFamilia.Visible = False
        End If

        '----------------------------------------------------
        'VARIEDAD
        '----------------------------------------------------
        Dim objVariedad As New clsVariedad

        If ddlFamilia.SelectedValue <> "" Then
            ddlVariedad.DataSource = objVariedad.Get_Variedad(ddlFamilia.SelectedValue)
        Else
            ddlVariedad.DataSource = objVariedad.Get_Variedad
        End If
        ddlVariedad.DataTextField = "artvariedad"
        ddlVariedad.DataBind()
        ddlVariedad.Items.Insert(0, "")
        ddlVariedad.Items.Add("(OTRO)")

        '----------------------------------------------------
        'CALIDAD
        '----------------------------------------------------
        If ddlRama.SelectedValue <> "INSUMOS" Then
            Dim objCalidad As New clsCalidad

            If ddlFamilia.SelectedValue <> "" Then
                ddlCalidad.DataSource = objCalidad.Get_Calidad(ddlFamilia.SelectedValue)
            Else
                ddlCalidad.DataSource = objCalidad.Get_Calidad
            End If
            ddlCalidad.DataTextField = "calidad"
            ddlCalidad.DataBind()
            ddlCalidad.Items.Insert(0, "")
            ddlCalidad.Items.Add("(OTRO)")

        End If

        '----------------------------------------------------
        'COSECHA
        '----------------------------------------------------
        If ddlCosecha.SelectedValue <> "INSUMOS" Then
            Dim objCosecha As New clsFamilias

            If ddlFamilia.SelectedValue <> "" Then
                ddlCosecha.DataSource = objCosecha.Get_Cosechas(ddlFamilia.SelectedValue)
            End If
            ddlCosecha.DataTextField = "vacacosecha"
            ddlCosecha.DataBind()
            ddlCosecha.Items.Add("N/A")
            ddlCosecha.Items.Add("(OTRO)")

        End If
    End Sub

    Protected Sub ddlVariedad_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlVariedad.SelectedIndexChanged
        txtVariedad.Text = ""
        If ddlVariedad.Text = "(OTRO)" Then
            txtVariedad.Visible = True
        Else
            txtVariedad.Visible = False
        End If

    End Sub

    Protected Sub ddlCalidad_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlCalidad.SelectedIndexChanged
        txtCalidad.Text = ""
        If ddlCalidad.Text = "(OTRO)" Then
            txtCalidad.Visible = True
        Else
            txtCalidad.Visible = False
        End If

    End Sub

    Protected Sub ddlPais_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlPais.SelectedIndexChanged
        txtPais.Text = ""
        If ddlPais.Text = "(OTRO)" Then
            txtPais.Visible = True
        Else
            txtPais.Visible = False
        End If

    End Sub

    Protected Sub ddlMarca_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlMarca.SelectedIndexChanged
        txtMarca.Text = ""
        If ddlMarca.Text = "(OTRO)" Then
            txtMarca.Visible = True
        Else
            txtMarca.Visible = False
        End If

    End Sub

    Protected Sub ddlTipoEmpaque_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlTipoEmpaque.SelectedIndexChanged
        txtTipoEmpaque.Text = ""
        If ddlTipoEmpaque.Text = "(OTRO)" Then
            txtTipoEmpaque.Visible = True
        Else
            txtTipoEmpaque.Visible = False
        End If

        '----------------------------------------------------
        'PRESENTACION
        '----------------------------------------------------
        Dim objPresentacion As New clsPresentacion

        ddlPresentacion.DataSource = objPresentacion.Get_Presentacion(ddlTipoEmpaque.SelectedValue)
        ddlPresentacion.DataTextField = "presentacion"
        ddlPresentacion.DataBind()
        ddlPresentacion.Items.Insert(0, "")
        ddlPresentacion.Items.Add("(OTRO)")

    End Sub

    Protected Sub ddlPresentacion_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlPresentacion.SelectedIndexChanged
        txtPresentacion.Text = ""
        If ddlPresentacion.Text = "(OTRO)" Then
            txtPresentacion.Visible = True
        Else
            txtPresentacion.Visible = False
        End If

    End Sub

    Protected Sub ddlRama_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlRama.SelectedIndexChanged

        txtRama.Text = ""

        ''ddlCategoria.Enabled = True
        ''ddlCategoria.SelectedIndex = 0

        ''ddlGrupo.Enabled = True
        ''ddlGrupo.SelectedIndex = 0

        ''ddlOrigen.Enabled = True
        ''ddlOrigen.SelectedIndex = 0

        ''ddlPais.Enabled = True
        ''ddlPais.SelectedIndex = 0

        ''ddlCalidad.Enabled = True
        ''ddlCalidad.SelectedIndex = 0

        ''ddlTipoEmpaque.Enabled = True
        ''ddlTipoEmpaque.SelectedIndex = 0

        Select Case ddlRama.SelectedValue
            Case "EMPACADOS"
                ddlCategoria.SelectedValue = "AQUINTALADO"
                ddlCategoria.Enabled = False

                '----------------------------------------------------
                'GRUPOS
                '----------------------------------------------------
                Dim objGrupos As New clsGrupos

                ddlGrupo.DataSource = objGrupos.Get_Grupos
                ddlGrupo.DataTextField = "grupo"
                ddlGrupo.DataBind()
                ddlGrupo.Items.Insert(0, "")
                'ddlGrupo.Items.Insert(ddlGrupo.Items.Count, "(OTRO)")
                ddlGrupo.Items.Add("(OTRO)")

                ddlGrupo.Enabled = True
                ddlGrupo.SelectedIndex = 0

                If ddlFamilia.SelectedValue <> "" Then
                    ddlFamilia.SelectedIndex = 0
                End If

                If ddlVariedad.SelectedValue <> "" Then
                    ddlVariedad.SelectedIndex = 0
                End If

                ddlCalidad.Enabled = True
                If ddlCalidad.SelectedValue <> "" Then
                    ddlCalidad.SelectedIndex = 0

                End If

                ddlOrigen.Enabled = True
                ddlOrigen.SelectedIndex = 0

                ddlPais.Enabled = True
                ddlPais.SelectedIndex = 0

                ddlMarca.Enabled = True
                If ddlMarca.SelectedValue <> "" Then
                    ddlMarca.SelectedIndex = 0
                End If

                '----------------------------------------------------
                'TIPO EMPAQUE
                '----------------------------------------------------
                Dim objTipoEmpaque As New clsTipoEmpaque

                ddlTipoEmpaque.DataSource = objTipoEmpaque.Get_TipoEmpaques(ddlRama.SelectedValue)
                ddlTipoEmpaque.DataTextField = "tipoempaque"
                ddlTipoEmpaque.DataBind()
                ddlTipoEmpaque.Items.Insert(0, "")
                ddlTipoEmpaque.Items.Add("(OTRO)")

                ddlTipoEmpaque.Enabled = True
                ddlTipoEmpaque.SelectedIndex = 0

                If ddlPresentacion.SelectedValue <> "" Then
                    ddlPresentacion.SelectedIndex = 0
                End If

            Case "MAYOREO"

                ddlCategoria.Enabled = True
                ddlCategoria.SelectedIndex = 0

                '----------------------------------------------------
                'GRUPOS
                '----------------------------------------------------
                Dim objGrupos As New clsGrupos

                ddlGrupo.DataSource = objGrupos.Get_Grupos
                ddlGrupo.DataTextField = "grupo"
                ddlGrupo.DataBind()
                ddlGrupo.Items.Insert(0, "")
                'ddlGrupo.Items.Insert(ddlGrupo.Items.Count, "(OTRO)")
                ddlGrupo.Items.Add("(OTRO)")

                ddlGrupo.Enabled = True
                ddlGrupo.SelectedIndex = 0

                If ddlFamilia.SelectedValue <> "" Then
                    ddlFamilia.SelectedIndex = 0
                End If

                If ddlVariedad.SelectedValue <> "" Then
                    ddlVariedad.SelectedIndex = 0
                End If

                ddlCalidad.Enabled = True
                If ddlCalidad.SelectedValue <> "" Then
                    ddlCalidad.SelectedIndex = 0

                End If

                ddlOrigen.Enabled = True
                ddlOrigen.SelectedIndex = 0

                ddlPais.Enabled = True
                ddlPais.SelectedIndex = 0

                ddlMarca.Enabled = True
                If ddlMarca.SelectedValue <> "" Then
                    ddlMarca.SelectedIndex = 0
                End If

                '----------------------------------------------------
                'TIPO EMPAQUE
                '----------------------------------------------------
                Dim objTipoEmpaque As New clsTipoEmpaque

                ddlTipoEmpaque.DataSource = objTipoEmpaque.Get_TipoEmpaques(ddlRama.SelectedValue)
                ddlTipoEmpaque.DataTextField = "tipoempaque"
                ddlTipoEmpaque.DataBind()
                ddlTipoEmpaque.Items.Insert(0, "")
                ddlTipoEmpaque.Items.Add("(OTRO)")

                ddlTipoEmpaque.Enabled = True
                ddlTipoEmpaque.SelectedIndex = 0

                If ddlPresentacion.SelectedValue <> "" Then
                    ddlPresentacion.SelectedIndex = 0
                End If

            Case "INSUMOS"
                '----------------------------------------------------
                'CATEGORIA
                '----------------------------------------------------
                ddlCategoria.SelectedValue = "GRANEL"
                ddlCategoria.Enabled = False

                '----------------------------------------------------
                'GRUPO
                '----------------------------------------------------
                Dim objGrupos As New clsGrupos

                ddlGrupo.DataSource = objGrupos.Get_Grupos("INSUMOS")
                ddlGrupo.DataTextField = "grupo"
                ddlGrupo.DataBind()
                ddlGrupo.Items.Insert(0, "")
                'ddlGrupo.Items.Insert(ddlGrupo.Items.Count, "(OTRO)")
                ddlGrupo.Items.Add("(OTRO)")

                ddlGrupo.SelectedValue = "INSUMOS DE PRODUCCION"
                ddlGrupo.Enabled = False
                ddlGrupo_SelectedIndexChanged(sender, e)

                If ddlFamilia.SelectedValue <> "" Then
                    ddlFamilia.SelectedIndex = 0
                End If

                If ddlVariedad.SelectedValue <> "" Then
                    ddlVariedad.SelectedIndex = 0
                End If

                '----------------------------------------------------
                'CALIDAD
                '----------------------------------------------------
                ddlCalidad.Items.Add("")
                ddlCalidad.Items.Add("1A")
                ddlCalidad.SelectedValue = "1A"
                ddlCalidad.Enabled = False

                '----------------------------------------------------
                'ORIGEN
                '----------------------------------------------------
                ddlOrigen.SelectedValue = "NACIONAL"
                ddlOrigen.Enabled = False

                '----------------------------------------------------
                'PAIS
                '----------------------------------------------------
                ddlPais.SelectedValue = "N/A"
                ddlPais.Enabled = False

                If ddlMarca.SelectedValue <> "" Then
                    ddlMarca.SelectedIndex = 0
                End If

                '----------------------------------------------------
                'TIPO EMPAQUE
                '----------------------------------------------------
                Dim objTipoEmpaque As New clsTipoEmpaque

                ddlTipoEmpaque.DataSource = objTipoEmpaque.Get_TipoEmpaques(ddlRama.SelectedValue)
                ddlTipoEmpaque.DataTextField = "tipoempaque"
                ddlTipoEmpaque.DataBind()
                ddlTipoEmpaque.Items.Insert(0, "")
                ddlTipoEmpaque.Items.Add("(OTRO)")

                '----------------------------------------------------
                'TIPO EMPAQUE
                '----------------------------------------------------
                ddlTipoEmpaque.SelectedValue = "N/A"
                ddlTipoEmpaque.Enabled = False
                ddlTipoEmpaque_SelectedIndexChanged(sender, e)

                If ddlPresentacion.SelectedValue <> "" Then
                    ddlPresentacion.SelectedIndex = 0
                End If

            Case "(OTRO)"
                txtRama.Visible = True
                ddlCategoria.Enabled = True
                ddlCategoria.SelectedIndex = 0

        End Select

        ''If ddlRama.Text = "(OTRO)" Then
        ''    txtRama.Visible = True
        ''    ddlCategoria.Enabled = True
        ''    ddlCategoria.SelectedIndex = 0
        ''Else
        ''    If ddlRama.SelectedValue = "EMPACADOS" Then
        ''        ddlCategoria.SelectedValue = "AQUINTALADO"
        ''        ddlCategoria.Enabled = False

        ''    ElseIf ddlRama.SelectedValue = "INSUMOS" Then

        ''        '----------------------------------------------------
        ''        'CATEGORIA
        ''        '----------------------------------------------------
        ''        ddlCategoria.SelectedValue = "GRANEL"
        ''        ddlCategoria.Enabled = False

        ''        '----------------------------------------------------
        ''        'GRUPOS
        ''        '----------------------------------------------------
        ''        Dim objGrupos As New clsGrupos
        ''        ddlGrupo.DataSource = objGrupos.Get_Grupos("INSUMOS")
        ''        ddlGrupo.DataTextField = "grupo"
        ''        ddlGrupo.DataBind()
        ''        ddlGrupo.Items.Insert(0, "")
        ''        'ddlGrupo.Items.Insert(ddlGrupo.Items.Count, "(OTRO)")
        ''        ddlGrupo.Items.Add("(OTRO)")

        ''        '----------------------------------------------------
        ''        'ORIGEN
        ''        '----------------------------------------------------
        ''        ddlOrigen.SelectedValue = "NACIONAL"
        ''        ddlOrigen.Enabled = False

        ''        '----------------------------------------------------
        ''        'PAIS
        ''        '----------------------------------------------------
        ''        ddlPais.SelectedValue = "N/A"
        ''        ddlPais.Enabled = False

        ''        '----------------------------------------------------
        ''        'CALIDAD
        ''        '----------------------------------------------------
        ''        ddlCalidad.SelectedValue = "1A"
        ''        ddlCalidad.Enabled = False

        ''        '----------------------------------------------------
        ''        'TIPO EMPAQUE
        ''        '----------------------------------------------------
        ''        ddlTipoEmpaque.SelectedValue = "N/A"
        ''        ddlTipoEmpaque.Enabled = False

        ''    Else
        ''        ddlCategoria.Enabled = True
        ''        ddlCategoria.SelectedIndex = 0

        ''        ddlGrupo.Enabled = True
        ''        ddlGrupo.SelectedIndex = 0

        ''        ddlOrigen.Enabled = True
        ''        ddlOrigen.SelectedIndex = 0

        ''        ddlPais.Enabled = True
        ''        ddlPais.SelectedIndex = 0

        ''        ddlCalidad.Enabled = True
        ''        ddlCalidad.SelectedValue = ""

        ''        ddlTipoEmpaque.Enabled = True
        ''        ddlTipoEmpaque.SelectedIndex = 0

        ''    End If
        ''    txtRama.Visible = False

        ''End If

        ' ''----------------------------------------------------
        ' ''TIPO EMPAQUE
        ' ''----------------------------------------------------
        ''Dim objTipoEmpaque As New clsTipoEmpaque

        ''ddlTipoEmpaque.DataSource = objTipoEmpaque.Get_TipoEmpaques(ddlRama.SelectedValue)
        ''ddlTipoEmpaque.DataTextField = "tipoempaque"
        ''ddlTipoEmpaque.DataBind()
        ''ddlTipoEmpaque.Items.Insert(0, "")
        ''ddlTipoEmpaque.Items.Add("(OTRO)")

        DoVerificar()

    End Sub

    Protected Sub ddlCategoria_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlCategoria.SelectedIndexChanged
        txtCategoria.Text = ""
        If ddlCategoria.Text = "(OTRO)" Then
            txtCategoria.Visible = True
        Else
            txtCategoria.Visible = False
        End If

    End Sub

    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        Dim Articulo = New clsArticulo
        Dim boolGuardar As Boolean = True

        'Articulo.Articulo = txtArticulo.Text
        Articulo.FechaSolicitud = Date.Parse(txtFechaSolicitud.Text)
        Articulo.Usuario_Captura = HttpContext.Current.User.Identity.Name.ToString

        If ddlRama.SelectedValue = "(OTRO)" Then
            Articulo.Rama = txtRama.Text.Trim
        Else
            Articulo.Rama = ddlRama.SelectedValue.Trim
        End If

        If ddlCategoria.SelectedValue = "(OTRO)" Then
            Articulo.Categoria = txtCategoria.Text.Trim
        Else
            Articulo.Categoria = ddlCategoria.SelectedValue
        End If

        If ddlGrupo.SelectedValue = "(OTRO)" Then
            Articulo.Grupo = txtGrupo.Text.Trim
        Else
            Articulo.Grupo = ddlGrupo.SelectedValue
        End If

        If ddlFamilia.SelectedValue = "(OTRO)" Then
            Articulo.Familia = txtFamilia.Text.Trim
        Else
            Articulo.Familia = ddlFamilia.SelectedValue
        End If

        If ddlVariedad.SelectedValue = "(OTRO)" Then
            Articulo.Variedad = txtVariedad.Text.Trim
        Else
            Articulo.Variedad = ddlVariedad.SelectedValue
        End If

        If ddlCalidad.SelectedValue = "(OTRO)" Then
            Articulo.Calidad = txtCalidad.Text.Trim
        Else
            Articulo.Calidad = ddlCalidad.SelectedValue
        End If

        Articulo.Origen = ddlOrigen.SelectedValue

        If ddlPais.SelectedValue = "(OTRO)" Then
            Articulo.Pais = txtPais.Text.Trim
        Else
            Articulo.Pais = ddlPais.SelectedValue
        End If

        If ddlMarca.SelectedValue = "(OTRO)" Then
            Articulo.Marca = txtMarca.Text.Trim
        Else
            Articulo.Marca = ddlMarca.SelectedValue
        End If

        If ddlTipoEmpaque.SelectedValue = "(OTRO)" Then
            Articulo.TipoEmpaque = txtTipoEmpaque.Text.Trim
        Else
            Articulo.TipoEmpaque = ddlTipoEmpaque.SelectedValue
        End If

        If ddlPresentacion.SelectedValue = "(OTRO)" Then
            Articulo.Presentacion = txtPresentacion.Text.Trim
        Else
            Articulo.Presentacion = ddlPresentacion.SelectedValue
        End If

        If ddlCosecha.SelectedValue = "(OTRO)" Then
            Articulo.Cosecha = txtCosecha.Text.Trim
        Else
            Articulo.Cosecha = ddlCosecha.SelectedValue
        End If

        Articulo.Grupo2 = ddlGrupo2.SelectedValue

        Articulo.DescInterna = txtDescInt.Text
        Articulo.DescFacturacion = txtDescFac.Text
        Articulo.Linea = txtLinea.Text

        validaCampos(boolGuardar, ddlRama, txtRama, Articulo.Rama)
        validaCampos(boolGuardar, ddlCategoria, txtCategoria, Articulo.Categoria)
        validaCampos(boolGuardar, ddlGrupo, txtGrupo, Articulo.Grupo)
        validaCampos(boolGuardar, ddlFamilia, txtFamilia, Articulo.Familia)
        validaCampos(boolGuardar, ddlVariedad, txtVariedad, Articulo.Variedad)
        validaCampos(boolGuardar, ddlCalidad, txtCalidad, Articulo.Calidad)

        If ddlOrigen.SelectedValue = String.Empty Then
            ddlOrigen.BorderColor = Drawing.Color.Red
            boolGuardar = False
        End If

        validaCampos(boolGuardar, ddlPais, txtPais, Articulo.Pais)
        validaCampos(boolGuardar, ddlMarca, txtMarca, Articulo.Marca)
        validaCampos(boolGuardar, ddlTipoEmpaque, txtTipoEmpaque, Articulo.TipoEmpaque)
        validaCampos(boolGuardar, ddlPresentacion, txtPresentacion, Articulo.Presentacion)
        validaCampos(boolGuardar, ddlCosecha, txtCosecha, Articulo.Cosecha)

        If ddlGrupo2.SelectedValue = String.Empty Then
            ddlGrupo2.BorderColor = Drawing.Color.Red
            boolGuardar = False
        End If

        If txtDescInt.Text = String.Empty Then
            txtDescInt.BorderColor = Drawing.Color.Red
            boolGuardar = False
        End If

        If txtDescFac.Text = String.Empty Then
            txtDescFac.BorderColor = Drawing.Color.Red
            boolGuardar = False
        End If

        If txtLinea.Text = String.Empty Then
            txtLinea.BorderColor = Drawing.Color.Red
            boolGuardar = False
        End If

        Dim objArt As Object
        objArt = Articulo.DoBuscaArticulo(txtDescInt.Text.Trim)
        If objArt.HasRows Then
            Do While objArt.Read
                lblMensajes.Text = "NO ES POSIBLE ENVIAR ESTA INFORMACIÓN, Ya existe un articulo con esta descripción: " & objArt("articulo").ToString
                boolGuardar = False
            Loop
        Else
            lblMensajes.Text = ""
        End If

        If boolGuardar Then
            If Articulo.Art_Guardar() > 0 Then
                DoEnviaCorreo("mgbarboza@dinavi.com.mx", Articulo.ID, Articulo.DescInterna)
                'DoEnviaCorreo("arugerio@dinavi.com.mx", Articulo.ID, Articulo.DescInterna)
                DoEnviaCorreo("salvarado@dinavi.com.mx", Articulo.ID, Articulo.DescInterna)
                DoEnviaCorreo("auxinventarios@dinavi.com.mx", Articulo.ID, Articulo.DescInterna)
                Response.Redirect("Listado.aspx")
            End If
        End If

    End Sub

    Private Sub DoVerificar()
        'validamos rama
        If ddlRama.SelectedValue = "(OTRO)" Then
            m_strRama = txtRama.Text
        Else
            m_strRama = ddlRama.SelectedValue
        End If
        Select Case m_strRama.Trim
            Case "", "N/A"
                m_strRama = ""
            Case Else
                m_strRama = m_strRama.Trim & " "
        End Select

        'validamos categoria
        If ddlCategoria.SelectedValue = "(OTRO)" Then
            m_strCategoria = txtCategoria.Text
        Else
            m_strCategoria = ddlCategoria.SelectedValue
        End If
        Select Case m_strCategoria.Trim
            Case "", "N/A"
                m_strCategoria = ""
            Case Else
                m_strCategoria = m_strCategoria.Trim & " "
        End Select

        'validamos grupo
        If ddlGrupo.SelectedValue = "(OTRO)" Then
            m_strGrupo = txtGrupo.Text
        Else
            m_strGrupo = ddlGrupo.SelectedValue
        End If
        Select Case m_strGrupo.Trim
            Case "", "N/A"
                m_strGrupo = ""
            Case Else
                m_strGrupo = m_strGrupo.Trim & " "
        End Select

        'validamos familia
        If ddlFamilia.SelectedValue = "(OTRO)" Then
            m_strFamilia = txtFamilia.Text
        Else
            m_strFamilia = ddlFamilia.SelectedValue
        End If
        If m_strFamilia <> "" Then
            m_strFamilia = m_strFamilia.Trim & " "
        End If

        'validamos variedad
        If ddlVariedad.SelectedValue = "(OTRO)" Then
            m_strVariedad = txtVariedad.Text
        Else
            m_strVariedad = ddlVariedad.SelectedValue
        End If
        Select Case m_strVariedad.Trim
            Case "", "N/A"
                m_strVariedad = ""
            Case Else
                m_strVariedad = m_strVariedad.Trim & " "
        End Select

        'validamos calidad
        If ddlCalidad.SelectedValue = "(OTRO)" Then
            m_strCalidad = txtCalidad.Text
        Else
            m_strCalidad = ddlCalidad.SelectedValue
        End If
        Select Case m_strCalidad.Trim
            Case "", "N/A"
                m_strCalidad = ""
            Case Else
                m_strCalidad = m_strCalidad.Trim & " "
        End Select


        'validamos origen
        If ddlOrigen.SelectedValue = "(OTRO)" Then
            m_strOrigen = txtOrigen.Text
        Else
            m_strOrigen = ddlOrigen.SelectedValue
        End If
        Select Case m_strOrigen.Trim
            Case "", "N/A"
                m_strOrigen = ""
            Case Else
                m_strOrigen = m_strOrigen.Trim & " "
        End Select

        'validamos pais
        If ddlPais.SelectedValue = "(OTRO)" Then
            m_strPais = txtPais.Text
        Else
            m_strPais = ddlPais.SelectedValue
        End If
        Select Case m_strPais.Trim
            Case "", "N/A"
                m_strPais = ""
            Case Else
                m_strPais = m_strPais.Trim & " "
        End Select

        'validamos marca
        If ddlMarca.SelectedValue = "(OTRO)" Then
            m_strMarca = txtMarca.Text
        Else
            m_strMarca = ddlMarca.SelectedValue
        End If
        Select Case m_strMarca.Trim
            Case "", "S/M"
                m_strMarca = ""
            Case Else
                m_strMarca = m_strMarca.Trim & " "
        End Select

        'validamos tipo empaque
        If ddlTipoEmpaque.SelectedValue = "(OTRO)" Then
            m_strTipoEmpaque = txtPais.Text
        Else
            m_strTipoEmpaque = ddlTipoEmpaque.SelectedValue
        End If
        Select Case m_strTipoEmpaque.Trim
            Case "", "N/A"
                m_strTipoEmpaque = ""
            Case Else
                m_strTipoEmpaque = m_strTipoEmpaque.Trim & " "
        End Select

        'validamos presentacion
        If ddlPresentacion.SelectedValue = "(OTRO)" Then
            m_strPresentacion = txtPresentacion.Text
        Else
            m_strPresentacion = ddlPresentacion.SelectedValue
        End If
        Select Case m_strPresentacion.Trim
            Case "", "N/A"
                m_strPresentacion = ""
            Case Else
                m_strPresentacion = m_strPresentacion.Trim
        End Select

        'validamos presentacion
        If ddlCosecha.SelectedValue = "(OTRO)" Then
            m_strCosecha = txtCosecha.Text
        Else
            m_strCosecha = ddlCosecha.SelectedValue
        End If
        Select Case m_strCosecha.Trim
            Case "", "N/A"
                m_strCosecha = ""
            Case Else
                m_strCosecha = " " & m_strCosecha.Trim
        End Select

        doLinea()
        doDescripcionInterna()
        doDescripcionFacturacion()

        Dim objArt As Object
        Dim Articulo As New clsArticulo
        objArt = Articulo.DoBuscaArticulo(txtDescInt.Text.Trim)
        If objArt.HasRows Then
            Do While objArt.Read
                lblMensajes.Text = "NO ES POSIBLE ENVIAR ESTA INFORMACIÓN, Ya existe un articulo con esta descripción: " & objArt("articulo").ToString
            Loop
        Else
            lblMensajes.Text = ""
        End If

    End Sub

    Protected Sub doLinea()

        Select Case ddlRama.SelectedValue
            Case "EMPACADOS"
                txtLinea.Text = m_strFamilia & m_strVariedad & m_strMarca & m_strPresentacion
            Case "MAYOREO"
                txtLinea.Text = m_strFamilia & m_strVariedad & m_strCalidad & m_strOrigen.Trim
            Case "INSUMOS"
                txtLinea.Text = m_strFamilia.Trim
            Case Else
                txtLinea.Text = m_strFamilia & m_strVariedad & m_strCalidad & m_strOrigen.Trim
        End Select

        ''If ddlRama.SelectedValue = "EMPACADOS" Then
        ''    txtLinea.Text = m_strFamilia & m_strVariedad & m_strMarca & m_strPresentacion

        ''ElseIf ddlRama.SelectedValue = "MAYOREO" Then
        ''    txtLinea.Text = m_strFamilia & m_strVariedad & m_strCalidad & m_strOrigen.Trim

        ''Else
        ''    txtLinea.Text = m_strFamilia & m_strVariedad & m_strCalidad & m_strOrigen.Trim
        ''End If

    End Sub

    Protected Sub doDescripcionInterna()
        Select Case ddlRama.SelectedValue
            Case "MAYOREO"
                txtDescInt.Text = m_strFamilia & m_strVariedad & m_strOrigen & m_strPais & m_strCalidad & m_strMarca & m_strTipoEmpaque & m_strPresentacion & m_strCosecha
            Case "EMPACADOS"
                txtDescInt.Text = m_strFamilia & m_strVariedad & m_strCalidad & m_strMarca & m_strTipoEmpaque & m_strPresentacion & m_strCosecha
            Case "INSUMOS"
                txtDescInt.Text = m_strFamilia & m_strVariedad & IIf(m_strCalidad.Trim <> "1A", m_strCalidad, "") & m_strMarca & m_strTipoEmpaque & m_strPresentacion & m_strCosecha
        End Select

        ''If ddlRama.SelectedValue = "MAYOREO" Then
        ''    txtDescInt.Text = m_strFamilia & m_strVariedad & m_strOrigen & m_strPais & m_strCalidad & m_strMarca & m_strTipoEmpaque & m_strPresentacion

        ''ElseIf ddlRama.SelectedValue = "EMPACADOS" Then
        ''    txtDescInt.Text = m_strFamilia & m_strVariedad & m_strCalidad & m_strMarca & m_strTipoEmpaque & m_strPresentacion

        ''Else
        ''    txtDescInt.Text = m_strFamilia & m_strVariedad & m_strOrigen & m_strPais & m_strCalidad & m_strMarca & m_strTipoEmpaque & m_strPresentacion
        ''End If

    End Sub

    Protected Sub doDescripcionFacturacion()
        txtDescFac.Text = m_strFamilia & m_strVariedad & m_strOrigen & m_strMarca & m_strTipoEmpaque & m_strPresentacion

    End Sub

    Function validaCampos(ByRef boolEstatus As Boolean, ByVal combo As DropDownList, ByVal txt As TextBox, ByVal propiedad As String) As Boolean
        If propiedad = String.Empty Then
            If combo.SelectedValue = String.Empty Then
                combo.BorderColor = Drawing.Color.Red
                boolEstatus = False
            ElseIf combo.SelectedValue = "(OTRO)" Then
                If txt.Text = String.Empty Then
                    txt.BorderColor = Drawing.Color.Red
                    boolEstatus = False
                End If
            End If
        End If

        Return boolEstatus

    End Function

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        DoVerificar()

    End Sub

    Protected Sub ddlOrigen_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlOrigen.SelectedIndexChanged
        If ddlOrigen.SelectedValue = "NACIONAL" Then
            ddlPais.SelectedValue = "N/A"
            ddlPais.Enabled = False

        Else
            ddlPais.Enabled = True
            ddlPais.SelectedIndex = 0

        End If

    End Sub

    Sub DoEnviaCorreo(ByVal strEmailDestinatario As String, ByVal strIDSolicitud As String, ByVal strDescripcionArt As String)
        Dim objCorreo As New System.Net.Mail.MailMessage()
        Dim strBody As String

        objCorreo.From = New System.Net.Mail.MailAddress("articulos@dinavi.com.mx")
        objCorreo.To.Add(strEmailDestinatario)
        objCorreo.Subject = "Nueva Solicitud de Articulos"

        strBody = "Nueva Solicitud con el ID: " & vbNewLine
        strBody = strBody & """" & strIDSolicitud & """" & vbNewLine
        strBody = strBody & "y descripcion: " & vbNewLine
        strBody = strBody & """" & strDescripcionArt & """" & vbNewLine

        objCorreo.Body = strBody
        'Estabvlece en TRUE si vas a enviar codigo HTML
        objCorreo.IsBodyHtml = True
        'Prioridad del Correo Alta, Baja, Normal
        objCorreo.Priority = System.Net.Mail.MailPriority.Normal

        Dim smtp As New System.Net.Mail.SmtpClient

        '---------------------------------------------
        ' Estos datos debes rellanarlos correctamente
        '---------------------------------------------
        smtp.Host = "dinavi.com.mx"
        'Indicar el puerto en caso de que no sea el Standard (25)
        'smtp.Port = "###"
        smtp.Credentials = New System.Net.NetworkCredential("articulos@dinavi.com.mx", "dinavi")
        'Establece en True Cuando el Servidor Requiere una conexion segura
        smtp.EnableSsl = False

        Try
            smtp.Send(objCorreo)
            'MsgBox("Mensaje enviado satisfactoriamente")
        Catch ex As Exception
            'MsgBox("ERROR: " & ex.Message)
        End Try

    End Sub

    Protected Sub ddlCosecha_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlCosecha.SelectedIndexChanged
        If ddlCosecha.SelectedValue = "(OTRO)" Then
            txtCosecha.Visible = True

        Else
            txtCosecha.Visible = False

        End If

    End Sub
End Class
